2025-03-06 04:38:59,305 - INFO - Num classes: 3
2025-03-06 04:43:51,059 - INFO - Class weights: tensor([0.5826, 2.8443, 1.0728], device='cuda:0')
2025-03-06 04:43:51,063 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1080, out_features=67, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=67, out_features=1080, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1080, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=3, bias=True)
  )
  (logistic): Linear(in_features=3, out_features=3, bias=True)
)
2025-03-06 04:43:51,064 - INFO - Using cuda device
2025-03-07 00:31:59,136 - INFO - Num classes: 3
2025-03-07 00:36:43,287 - INFO - Class weights: tensor([0.5826, 2.8443, 1.0728], device='cuda:0')
2025-03-07 00:36:43,291 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1080, out_features=67, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=67, out_features=1080, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1080, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=3, bias=True)
  )
  (logistic): Linear(in_features=3, out_features=3, bias=True)
)
2025-03-07 00:36:43,292 - INFO - Using cuda device
2025-03-07 00:43:55,039 - INFO - Epoch: 0/100. Training time: 275.301
2025-03-07 00:43:55,040 - INFO - Training Metrics...
2025-03-07 00:43:55,041 - INFO - {'loss': 1.0192833098636311, 'f1': 38.95895558855609, 'acc': 43.084368500584944, 'precision': 47.322836319125386, 'recall': 49.152810159032235, 'balanced acc': 49.152810159032235}
2025-03-07 00:43:55,041 - INFO - Validation Metrics... Inference time: 156.440
2025-03-07 00:43:55,041 - INFO - {'loss': 1.0754112616563454, 'f1': 38.12077461552552, 'acc': 41.08819008372579, 'precision': 48.53712862895287, 'recall': 56.87504328246881, 'balanced acc': 56.87504328246881}
2025-03-07 00:43:55,041 - INFO - ==================================================
2025-03-07 01:19:57,806 - INFO - Epoch: 5/100. Training time: 281.607
2025-03-07 01:19:57,807 - INFO - Training Metrics...
2025-03-07 01:19:57,807 - INFO - {'loss': 0.7893320895304345, 'f1': 58.702576553770044, 'acc': 64.05773968624074, 'precision': 60.74309230948197, 'recall': 66.71684865107001, 'balanced acc': 66.71684865107001}
2025-03-07 01:19:57,807 - INFO - Validation Metrics... Inference time: 153.217
2025-03-07 01:19:57,807 - INFO - {'loss': 0.7154516761119549, 'f1': 61.082676140204214, 'acc': 72.01067626569859, 'precision': 60.56983600165824, 'recall': 71.5502136287412, 'balanced acc': 71.5502136287412}
2025-03-07 01:19:57,807 - INFO - ==================================================
2025-03-07 01:56:43,837 - INFO - Epoch: 10/100. Training time: 290.438
2025-03-07 01:56:43,838 - INFO - Training Metrics...
2025-03-07 01:56:43,838 - INFO - {'loss': 0.7027986152156903, 'f1': 65.93005894064531, 'acc': 73.60163561841934, 'precision': 66.44155391655453, 'recall': 71.98700749315127, 'balanced acc': 71.98700749315127}
2025-03-07 01:56:43,838 - INFO - Validation Metrics... Inference time: 156.980
2025-03-07 01:56:43,838 - INFO - {'loss': 0.6411950786908468, 'f1': 62.286221438854426, 'acc': 74.2144318664966, 'precision': 60.74091075155474, 'recall': 70.01072306434524, 'balanced acc': 70.01072306434524}
2025-03-07 01:56:43,838 - INFO - ==================================================
2025-03-07 02:33:35,084 - INFO - Epoch: 15/100. Training time: 296.334
2025-03-07 02:33:35,085 - INFO - Training Metrics...
2025-03-07 02:33:35,085 - INFO - {'loss': 0.6785540436483493, 'f1': 65.88235884348109, 'acc': 71.974712705544, 'precision': 66.40464900787559, 'recall': 72.09288633656669, 'balanced acc': 72.09288633656669}
2025-03-07 02:33:35,085 - INFO - Validation Metrics... Inference time: 154.159
2025-03-07 02:33:35,085 - INFO - {'loss': 0.6545241383405832, 'f1': 62.775551518808236, 'acc': 74.68968206272895, 'precision': 62.4387733440143, 'recall': 71.83003249324538, 'balanced acc': 71.83003249324538}
2025-03-07 02:33:35,086 - INFO - ==================================================
2025-03-07 03:10:23,577 - INFO - Epoch: 20/100. Training time: 290.462
2025-03-07 03:10:23,578 - INFO - Training Metrics...
2025-03-07 03:10:23,578 - INFO - {'loss': 0.6633541075287351, 'f1': 66.30342604091166, 'acc': 73.82462140907317, 'precision': 66.35074371430234, 'recall': 72.56809270669268, 'balanced acc': 72.56809270669268}
2025-03-07 03:10:23,578 - INFO - Validation Metrics... Inference time: 155.552
2025-03-07 03:10:23,578 - INFO - {'loss': 0.6258341700602801, 'f1': 63.692062380686686, 'acc': 75.14165521978022, 'precision': 62.24252206303994, 'recall': 72.47646006223174, 'balanced acc': 72.47646006223174}
2025-03-07 03:10:23,578 - INFO - ==================================================
2025-03-07 03:47:04,508 - INFO - Epoch: 25/100. Training time: 285.979
2025-03-07 03:47:04,508 - INFO - Training Metrics...
2025-03-07 03:47:04,508 - INFO - {'loss': 0.5963366809923938, 'f1': 70.40820613939609, 'acc': 76.35698138730015, 'precision': 70.36559286884952, 'recall': 75.69387294572793, 'balanced acc': 75.69387294572793}
2025-03-07 03:47:04,508 - INFO - Validation Metrics... Inference time: 153.590
2025-03-07 03:47:04,508 - INFO - {'loss': 0.5255859555342258, 'f1': 68.23453055849009, 'acc': 80.21403122547096, 'precision': 66.61007004659712, 'recall': 72.89161128975637, 'balanced acc': 72.89161128975637}
2025-03-07 03:47:04,508 - INFO - ==================================================
2025-03-07 04:23:35,958 - INFO - Epoch: 30/100. Training time: 291.960
2025-03-07 04:23:35,958 - INFO - Training Metrics...
2025-03-07 04:23:35,958 - INFO - {'loss': 0.5939834869591294, 'f1': 68.99035791792146, 'acc': 74.04402744378005, 'precision': 69.38693836975102, 'recall': 75.11556783822748, 'balanced acc': 75.11556783822748}
2025-03-07 04:23:35,958 - INFO - Validation Metrics... Inference time: 155.649
2025-03-07 04:23:35,958 - INFO - {'loss': 0.6594682687368149, 'f1': 61.477464243322885, 'acc': 71.94720736852432, 'precision': 61.186909213441176, 'recall': 71.71146400329948, 'balanced acc': 71.71146400329948}
2025-03-07 04:23:35,958 - INFO - ==================================================
2025-03-07 05:00:59,497 - INFO - Epoch: 35/100. Training time: 293.350
2025-03-07 05:00:59,497 - INFO - Training Metrics...
2025-03-07 05:00:59,498 - INFO - {'loss': 0.594490074997495, 'f1': 69.57978665384344, 'acc': 76.86860721597557, 'precision': 69.10072353959005, 'recall': 75.73131747164666, 'balanced acc': 75.73131747164666}
2025-03-07 05:00:59,498 - INFO - Validation Metrics... Inference time: 156.145
2025-03-07 05:00:59,498 - INFO - {'loss': 0.5256739854812622, 'f1': 68.1918494193517, 'acc': 80.36552361329147, 'precision': 68.77692420978421, 'recall': 74.30552114972005, 'balanced acc': 74.30552114972005}
2025-03-07 05:00:59,498 - INFO - ==================================================
2025-03-07 05:37:40,600 - INFO - Epoch: 40/100. Training time: 278.709
2025-03-07 05:37:40,603 - INFO - Training Metrics...
2025-03-07 05:37:40,603 - INFO - {'loss': 0.5603929917523816, 'f1': 71.99352387736437, 'acc': 78.13679288395295, 'precision': 71.58421917604643, 'recall': 76.5911715265292, 'balanced acc': 76.5911715265292}
2025-03-07 05:37:40,603 - INFO - Validation Metrics... Inference time: 151.220
2025-03-07 05:37:40,604 - INFO - {'loss': 0.5033847857744266, 'f1': 68.97925350745851, 'acc': 81.6447898269885, 'precision': 71.07191667312787, 'recall': 73.8875584312559, 'balanced acc': 73.8875584312559}
2025-03-07 05:37:40,604 - INFO - ==================================================
2025-03-07 06:13:30,780 - INFO - Epoch: 45/100. Training time: 282.181
2025-03-07 06:13:30,780 - INFO - Training Metrics...
2025-03-07 06:13:30,781 - INFO - {'loss': 0.5431941971657382, 'f1': 72.25857127593943, 'acc': 78.72566273722865, 'precision': 72.19148578512056, 'recall': 79.03451200249411, 'balanced acc': 79.03451200249411}
2025-03-07 06:13:30,781 - INFO - Validation Metrics... Inference time: 148.339
2025-03-07 06:13:30,781 - INFO - {'loss': 0.5490267834602258, 'f1': 67.3461813526828, 'acc': 79.01663069073784, 'precision': 66.54419500131532, 'recall': 74.95370774792477, 'balanced acc': 74.95370774792477}
2025-03-07 06:13:30,781 - INFO - ==================================================
2025-03-07 06:49:23,836 - INFO - Epoch: 50/100. Training time: 282.456
2025-03-07 06:49:23,836 - INFO - Training Metrics...
2025-03-07 06:49:23,836 - INFO - {'loss': 0.5439984608607688, 'f1': 71.51020173635798, 'acc': 78.37521478535682, 'precision': 70.73473151698788, 'recall': 78.97869882675485, 'balanced acc': 78.97869882675485}
2025-03-07 06:49:23,836 - INFO - Validation Metrics... Inference time: 148.713
2025-03-07 06:49:23,836 - INFO - {'loss': 0.494508921335905, 'f1': 68.98571062064366, 'acc': 80.1504345728676, 'precision': 67.87793277366713, 'recall': 74.75790588353787, 'balanced acc': 74.75790588353787}
2025-03-07 06:49:23,836 - INFO - ==================================================
2025-03-07 07:25:15,701 - INFO - Epoch: 55/100. Training time: 279.744
2025-03-07 07:25:15,704 - INFO - Training Metrics...
2025-03-07 07:25:15,704 - INFO - {'loss': 0.5504993807737995, 'f1': 71.3716274728146, 'acc': 78.91587218087872, 'precision': 70.25667768009647, 'recall': 78.61988416766529, 'balanced acc': 78.61988416766529}
2025-03-07 07:25:15,704 - INFO - Validation Metrics... Inference time: 150.685
2025-03-07 07:25:15,704 - INFO - {'loss': 0.49382121517108035, 'f1': 68.75563853292451, 'acc': 79.89612461571167, 'precision': 67.22932358558937, 'recall': 74.72216446216284, 'balanced acc': 74.72216446216284}
2025-03-07 07:25:15,704 - INFO - ==================================================
2025-03-07 07:39:37,701 - INFO - Early stopping criterion met. Stopping training.
2025-03-07 07:42:10,484 - INFO - Final test metrics:
{'f1': 70.51567466908203, 'acc': 82.30472327152015, 'precision': 70.50922648757059, 'recall': 74.05563845876753, 'balanced acc': 74.05563845876753}
2025-03-20 07:18:15,013 - INFO - Num classes: 3
2025-03-20 07:18:15,142 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1080, out_features=67, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=67, out_features=1080, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1080, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=3, bias=True)
  )
  (logistic): Linear(in_features=3, out_features=3, bias=True)
)
2025-03-20 07:18:15,142 - INFO - Using cuda device
2025-03-20 07:18:15,164 - INFO - Training parameters restored at epoch 37
2025-03-20 07:18:15,172 - INFO - Initializing final Evaluations:

2025-03-20 07:20:45,151 - INFO - Final validation metrics:
{'f1': 70.51567466908203, 'acc': 82.30472327152015, 'precision': 70.50922648757059, 'recall': 74.05563845876753, 'balanced acc': 74.05563845876753}
2025-03-20 07:22:17,369 - INFO - Final test pixel-wise classification metrics:
{'f1': 74.96776103103569, 'acc': 78.6054251693079, 'precision': 75.79120784200201, 'recall': 77.23155731227745, 'balanced acc': 77.23155731227745}
2025-04-05 02:41:34,335 - INFO - Num classes: 3
2025-04-05 02:41:34,339 - INFO - Class weights: None
2025-04-05 02:41:34,463 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1080, out_features=67, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=67, out_features=1080, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1080, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=3, bias=True)
  )
  (logistic): Linear(in_features=3, out_features=3, bias=True)
)
2025-04-05 02:41:34,463 - INFO - Using cuda device
2025-04-05 02:41:34,471 - INFO - Initializing final Evaluations:

